// components/browse-history-card/browse-history-card.js
import dayjs from 'dayjs';

Component({
    options: {
        styleIsolation: 'shared',
    },
    /**
     * 组件的属性列表
     */
    properties: {
        // 日期
        date: {
            type: String,
            value: ''
        },
        // 某一天的浏览记录
        records: {
            type: Array,
            value: [],
            observer(newValue) {
                this.setData({
                    selectList: new Array(newValue.length).fill(false)
                })
            }
        },
        // 是否处于管理状态
        status: {
            type: Boolean,
            value: false,
        },
        // 是否处于全选状态
        selectStatus: {
            type: Boolean,
            value: false,
            observer(newValue) {
                this.setData({
                    selectList: new Array(this.data.records.length).fill(newValue)
                })
            }
        }

    },

    /**
     * 组件的初始数据
     */
    data: {
        selectList: []
    },

    /**
     * 组件的方法列表
     */
    methods: {
        /**
         *  点击复选框
         */
        onTapCheckBox(event) {
            const index = event.target.dataset.index
            this.setData({
                [`selectList[${index}]`]: !this.data.selectList[index]
            })
            if (this.data.selectList[index]) {
                // 添加商品Id到Set
                this.triggerEvent("add", {
                    productId: this.data.records[index].productId
                })
            } else {
                this.triggerEvent("remove", {
                    productId: this.data.records[index].productId
                })
            }
        },
        /**
         * 跳转到商品详情
         */
        onTapProductinfo(event) {
            wx.navigateTo({
                url: `/pages/Product/Product?productId=${event.currentTarget.dataset.productid}`,
            })
        }
    },
    lifetimes: {
        // 设置复选框的值
        attached() {
            this.setData({
                selectList: new Array(this.data.records.length).fill(false)
            })
            const date = dayjs(this.data.date);
            if (date.isSame(dayjs(), 'day')) {
                this.setData({
                    date: "今天"
                })
            }
        }
    },
})